package com.attendance.www.hr.utils;

import java.io.UnsupportedEncodingException;

import org.apache.commons.lang3.StringUtils;


import com.attendance.www.hr.entitys.SystemConfigure;
import com.attendance.www.hr.mail.MailLnfo;
import com.attendance.www.hr.mail.MailSendUtil;

/**
 * 邮箱发送类
 * @author Administrator
 *
 */
public class MailUtils {

	/**
	 * 发送
	 * @param email 接收者邮箱
	 * @param title 标题
	 * @param textPart 正文
	 * @param ending 结尾
	 * @return
	 */
	public static boolean send(SystemConfigure systemConfigure,String email,String title,String textPart,String ending){
        try{
        	if (StringUtils.isBlank(systemConfigure.getMailName())
        			|| StringUtils.isBlank(systemConfigure.getMailPassword())
        			|| StringUtils.isBlank(systemConfigure.getMailServer())
        			|| StringUtils.isBlank(systemConfigure.getMailServerPort())) {
        		return false;
        	}

    		//这个类主要是设置邮件  
        	MailLnfo mailInfo = new MailLnfo();
            mailInfo.setMailServerHost(systemConfigure.getMailServer()); 
            mailInfo.setMailServerPort(systemConfigure.getMailServerPort());  
            mailInfo.setValidate(true);
            mailInfo.setUserName(systemConfigure.getMailName());     // 实际发送者  
            mailInfo.setPassword(systemConfigure.getMailPassword()); // 您的邮箱密码  
            mailInfo.setFromAddress(systemConfigure.getMailName());  // 设置发送人邮箱地址  
            mailInfo.setToAddress(email); // 设置接受者邮箱地址
        	//因读取配置文件，中午乱码问题，使用转换字符串方法，转换为UTF-8格式
        	mailInfo.setSubject(toGBK(title));    //设置标题
        	if (textPart==null) {
        		mailInfo.setContent(toGBK(ending));  //设置内容
			} else {
				mailInfo.setContent(textPart + toGBK(ending));  //设置内容
			}
        	//发送邮箱
        	MailSendUtil mailUtil=new MailSendUtil();
        	mailUtil.sendHtmlMail(mailInfo);
    	}catch(Exception e){
    		//e.printStackTrace();
    		return false;
    	}
		return true;
	}
	
	/**
	 * 中午字符串乱码，转换问题
	 * @param str
	 * @return
	 * @throws java.io.UnsupportedEncodingException
	 */
	public static String toGBK(String str){
		try {
			return new String(str.getBytes("ISO-8859-1"),"UTF-8");
		} catch (UnsupportedEncodingException e) {
			return null;
		}
	}
	
}
